class_name Character
extends Resource
# 此处列出Character所能创建的所有属性 新建的变量必须在下方定义的常量中
# 这个要求因技术原因无法在编译层面约束，但是必须遵守
# 这些常量可用于访问属性
# 所有创建的属性必须设置get set 函数，目的是让子类可以改写，扩展此行为
# =============================================================
const HP:String = "hp"
const HP_MAX:String = "hp_max"
const ATK:String = "atk"
const DEF:String = "def"

##################################################################
# 基类属性
##################################################################
@export var hp:float : set = set_hp, get = get_hp
@export var hp_max:float: set = set_hp_max, get = get_hp_max
@export var atk:float
@export var def:float

func set_hp(value: float):
	hp = value	
	
func get_hp() -> float:
	return hp
	
func set_hp_max(value: float):
	hp_max = value
	
func get_hp_max() -> float:
	return hp_max

